package com.inoneone.youba.mcht.service;

import com.inoneone.youba.mcht.dao.po.Merchant;
import com.inoneone.youba.mcht.dao.po.Tanker;
import com.inoneone.youba.mcht.dto.req.*;
import com.inoneone.youba.mcht.dto.rsp.AddOilRsp;
import com.inoneone.youba.mcht.dto.rsp.SystemInfo;

import java.util.List;

public interface MerchantApi {

	/**
	 * Description: 激活商户</br>
	 * Date: 2017-08-09 11:19:48</br>
	 *
	 * @param
	 * @return
	 * @author 姬远玄
	 * @since JDK 1.7
	*/
	void activeMch(String mchId, String enPwd, String enPayPwd);

	/**
	 * Description: 绑定openId</br>
	 * Date: 2017-08-09 11:20:24</br>
	 *
	 * @param
	 * @return
	 * @author 姬远玄
	 * @since JDK 1.7
	*/
	void bindOpenId(String mchId, String openId);

	/**
	 * Description: 查询商户的系统信息</br>
	 * Date: 2017-06-20 04:14:00</br>
	 *
	 * @param
	 * @return
	 * @author 姬远玄
	 * @since JDK 1.7
	*/
	SystemInfo querySystemInfo(String mchId);

	/**
	 * Description: 查询商户加油机列表信息</br>
	 * Date: 2017-06-21 11:37:25</br>
	 *
	 * @param
	 * @return
	 * @author 姬远玄
	 * @since JDK 1.7
	*/
	List<Tanker> queryTankerInfo(MyTankerReq myTankerReq, String mchId);

	/**
	 * Description: 加油机增加油量</br>
	 * Date: 2017-06-21 14:38:09</br>
	 *
	 * @param
	 * @return
	 * @author 姬远玄
	 * @since JDK 1.7
	*/
	AddOilRsp addOil(AddOilReq addOilReq, String mchId);

	/**
	 * Description: 编辑加油机信息</br>
	 * Date: 2017-06-21 16:25:35</br>
	 *
	 * @param
	 * @return
	 * @author 姬远玄
	 * @since JDK 1.7
	*/
	void editTanker(EditTankerReq editTankerReq);

	/**
	 * Description: 修改油单价</br>
	 * Date: 2017-08-18 13:10:47</br>
	 *
	 * @param
	 * @return
	 * @author 姬远玄
	 * @since JDK 1.7
	*/
	void editPrice(EditPriceReq editPriceReq);

	/**
	 * Description: 校正油量数据</br>
	 * Date: 2017-06-21 17:03:56</br>
	 *
	 * @param
	 * @return
	 * @author 姬远玄
	 * @since JDK 1.7
	*/
	AddOilRsp adjustOil(AddOilReq addOilReq);

	/**
	 * Description: 编辑我的信息</br>
	 * Date: 2017-06-22 09:48:59</br>
	 *
	 * @param
	 * @return
	 * @author 姬远玄
	 * @since JDK 1.7
	*/
	void editMyinfo(EditMyInfoReq editMyinfoReq, String mchId);

	/**
	 * Description: 查询加油机信息,校验加油机是否存在</br>
	 * Date: 2017-06-29 14:51:51</br>
	 *
	 * @param
	 * @return
	 * @author 姬远玄
	 * @since JDK 1.7
	*/
	Tanker queryTanker(String tankerId);

	/**
	 * Description: 根据mobile查询商户信息</br>
	 * Date: 2017-07-04 11:01:36</br>
	 *
	 * @param
	 * @return
	 * @author 姬远玄
	 * @since JDK 1.7
	*/
	Merchant queryMch(String mobile);

    Merchant queryMchByOpenid(String openId);

    Merchant queryMchById(String mchId);
}
